//以往的逻辑或弊端
// const foo = '';
// const bar = foo || 'default value';
// console.log(bar); //其实我有值，但是空值而已，你却给我 default value

// const foo1 = 0;
// const bar1 = foo1 || 'default value1';
// console.log(bar1); //0隐式转换变成false,其实我就想要0，你却给我default value1

// //解决方法 ??
// const barfoo = foo ?? 'default value';
// const barfoo1 = foo1 ?? 'default value1';
// console.log(barfoo);
// console.log(barfoo1);

//es2021 逻辑赋值运算符

let foo = '';
foo ||= 'default value';
console.log(foo);

let foo1 = 0;
foo1 ||= 'default value1';
console.log(foo1);

//解决方法 ??
let haha = '';
let hehe = 0;
haha ??= 'default value';
hehe ??= 'default value1';
console.log(haha);
console.log(hehe);
